﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Jurassic_Island
{
    public partial class FormInsertEventoGuion : Form
    {
        private ENEventosGuion enEvGuion;
        private bool editMode = false;

        public FormInsertEventoGuion()
        {
            enEvGuion = new ENEventosGuion();
            InitializeComponent();
        }

        public FormInsertEventoGuion(ENEventosGuion enEventoGuion)
        {
            //asignar a ENLocal el EN de parametro
            enEvGuion = enEventoGuion;
            editMode = true;
            InitializeComponent();
        }

        private void FormInsertEventoGuion_Load(object sender, EventArgs e)
        {
            if (editMode)
            {
                this.Text = "Editar Evento de Guión";
                btInsertar.Text = "&Actualizar";
                tbID_evguion.Text = enEvGuion.Id_evguion.ToString();
                tbNombre_evguion.Text = enEvGuion.Nombre_evguion.ToString();
                tbDescripcion_evguion.Text = enEvGuion.Descripcion_evguion.ToString();
            }
        }

        private void btCancelar_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btInsertar_Click(object sender, EventArgs e)
        {
            try
            {
                if (ValidarCampos())
                {
                    try
                    {
                        enEvGuion.Nombre_evguion = tbNombre_evguion.Text;
                        enEvGuion.Descripcion_evguion = tbDescripcion_evguion.Text;

                        if (enEvGuion.InsertarEventoGuion(editMode))
                        {
                            if (editMode)
                                MessageBox.Show("Evento de guión editado correctamente", "Éxito al editar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            else
                                MessageBox.Show("Evento de guión insertado correctamente", "Éxito al insertar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            this.DialogResult = DialogResult.OK;
                        }
                        else
                            MessageBox.Show("Error, no se ha podido insertar el evento de guión", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Error");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private bool ValidarCampos()
        {
            bool correcto = true;

            try
            {
                string errores = "Corrige los siguientes errores:\n";

                if (tbNombre_evguion.Text == "")
                {
                    correcto = false;
                    errores += "-Introduce un nombre\n";
                    epEvGuion.SetError(tbNombre_evguion, "Introduce un nombre");
                }
                else
                    epEvGuion.SetError(tbNombre_evguion, null);

                if (!correcto)
                {
                    throw new Exception(errores);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return correcto;
        }
    }
}
